2 require_once 'modules/Import/ImportFile.php';
3 require_once 'modules/Import/ImportFileSplitter.php';
5 class ImportFileSplitterTest extends Sugar_PHPUnit_Framework_TestCase
10 public function setUp()
12 $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
13 $this->_goodFile = SugarTestImportUtilities::createFile();
14 $this->_badFile = $GLOBALS['sugar_config']['import_dir'].'thisfileisntthere'.date("YmdHis");
15 $this->_whiteSpaceFile = SugarTestImportUtilities::createFileWithWhiteSpace();
18 public function tearDown()
20 SugarTestImportUtilities::removeAllCreatedFiles();
21 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
22 unset($GLOBALS['current_user']);
25 public function testLoadNonExistantFile()
27 $importFileSplitter = new ImportFileSplitter($this->_badFile);
28 $this->assertFalse($importFileSplitter->fileExists());
31 public function testLoadGoodFile()
33 $importFileSplitter = new ImportFileSplitter($this->_goodFile);
34 $this->assertTrue($importFileSplitter->fileExists());
37 public function testSplitSourceFile()
39 $importFileSplitter = new ImportFileSplitter($this->_goodFile);
40 $importFileSplitter->splitSourceFile(',','"');
42 $this->assertEquals($importFileSplitter->getRecordCount(),2000);
43 $this->assertEquals($importFileSplitter->getFileCount(),2);
46 public function testSplitSourceFileNoEnclosure()
48 $importFileSplitter = new ImportFileSplitter($this->_goodFile);
49 $importFileSplitter->splitSourceFile(',','');
51 $this->assertEquals($importFileSplitter->getRecordCount(),2000);
52 $this->assertEquals($importFileSplitter->getFileCount(),2);
55 public function testSplitSourceFileWithHeader()
57 $importFileSplitter = new ImportFileSplitter($this->_goodFile);
58 $importFileSplitter->splitSourceFile(',','"',true);
60 $this->assertEquals($importFileSplitter->getRecordCount(),1999);
61 $this->assertEquals($importFileSplitter->getFileCount(),2);
64 public function testSplitSourceFileWithThreshold()
66 $importFileSplitter = new ImportFileSplitter($this->_goodFile,500);
67 $importFileSplitter->splitSourceFile(',','"');
69 $this->assertEquals($importFileSplitter->getRecordCount(),2000);
70 $this->assertEquals($importFileSplitter->getFileCount(),4);
73 public function testGetSplitFileName()
75 $importFileSplitter = new ImportFileSplitter($this->_goodFile);
76 $importFileSplitter->splitSourceFile(',','"');
78 $this->assertEquals($importFileSplitter->getSplitFileName(0),"{$this->_goodFile}-0");
79 $this->assertEquals($importFileSplitter->getSplitFileName(1),"{$this->_goodFile}-1");
80 $this->assertEquals($importFileSplitter->getSplitFileName(2),false);
86 public function testTrimSpaces()
88 $splitter = new ImportFileSplitter($this->_whiteSpaceFile);
89 $splitter->splitSourceFile(',',' ',false);
91 $csvString = file_get_contents("{$this->_whiteSpaceFile}-0");
94 trim(file_get_contents("{$this->_whiteSpaceFile}-0")),
95 trim(file_get_contents("{$this->_whiteSpaceFile}"))